<HTML><HEAD><TITLE>lp_get_license_challenge(-Challenge)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(eplex)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>lp_get_license_challenge(-Challenge)</H1>
Get parameter for computing license key (some external solvers only)
<DL>
<DT><EM>Challenge</EM></DT>
<DD>Variable
</DD>
</DL>
<H2>Description</H2>
	This is only needed for certain OEM versions of external solvers!
    <P>
    	The eplex-library interfaces to an external simplex/MIP solver
	which might require a license to run (e.g. CPLEX, XPRESS-MP).
	Certain versions of these external solvers use a challenge-
	response licensing system. Only in such cases is this predicate
	needed. lp_get_license_challenge/1 returns a value which is used to
	compute a license key. This key is then passed into lp_get_license/2.
	For the details of this procedure you will need to consult the
	documentation of the solver vendor.
    <P>
        Be aware that the magic formula supplied by the vendor is usually
        designed to be performed in a language like C, and may rely on the
        behaviour of overflowing with 32 bit integers. In ECLiPSe, no
        overflowing will takes place because of bignums, and this has to be
        taken into account if the magic formula is calculated in ECLiPSe.
    <P>
	If you have a development license of CPLEX or XPRESS-MP, this
	predicate does not need to be called. If called anyway, it fails.
    
<H3>Fail Conditions</H3>
Fails if the solver doesn't use a challenge-response licensing system
<H2>Examples</H2>
<PRE>
     ?- ( lp_get_license_challenge(Challenge) -&gt;
	    magic_formula(Challenge, Response),
	    lp_get_license(RuntimeLicenseString, Response)
	;
	    lp_get_license(DevelopmentLicensePath, 0)
	).
    </PRE>
<H2>See Also</H2>
<A HREF="../../lib/eplex/lp_get_license-2.html">lp_get_license / 2</A>
</BODY></HTML>
